package cn.micai.base.thread;

/**
 * 描述：静态内部类 最好的单例模式，而且还是线程安全的
 * <p>
 *     静态内部类Singleton在初始化过程中是不会被加载的，只有当用户调用共用的getInstance方法时才会加载内部类*Singleton并且实例化Singleton实例，也就是说，静态内部类这种方式也属于懒汉模式，只是实现方式不一样而已。之所以*是线程安全的，是因为Singleton是静态的，静态内部类只会被实例化一次，也就是说不管有多少线程，大家拿到的是同一*个实例，不会再去进行多次实例化，从而达到了线程安全的目的。由于没有加锁，所以并发性特别高，线程还安全，所以大*家以后碰到单例模式，用静态内部类最为合适。
 *
 * @author: 赵新国
 * @date: 2018/2/22 15:09
 */
public class InnerSingleton {

    private static class Singleton {
        private static InnerSingleton singleton = new InnerSingleton();
    }

    public static InnerSingleton getInstance(){
        return Singleton.singleton;
    }


}
